· 典型嵌入式開發項目
嵌入式程序設計綜合實訓
配備實訓項目拓展和經典操作視頻
《嵌入式應用程序設計綜合教程》結合大量實例,講解了嵌入式應用程序設計各個方面的基本方法,以及必要的核心概念。主要內容包括搭建嵌入式Linux開發環境、標準I/O編程、文件I/O編程、進程控制開發、進程間通信、多線程編程、嵌入式Linux網絡編程等。重視應用是貫穿全書的最大特點,本書在各章和全書結尾分別設置了在項目實踐中常見和類似的應用實例。 《嵌入式應用程序設計綜合教程》可以作為高等院校電子、通信、計算機、自動化等專業的嵌入式Linux開發課程的教材,也可供嵌入式開發人員參考。學習本書應具有Linux C語言編程的基本知識。
第1章 Linux標準I/O編程 1
1.1 Linux系統調用和用戶編程接口 2
1.1.1 系統調用 2
1.1.2 用戶編程接口 2
1.2 Linux標準I/O概述 3
1.2.1 標準I/O的由來 3
1.2.2 流的含義 3
1.3 標準I/O編程 4
1.3.1 流的打開 4
1.3.2 流的關閉 5
1.3.3 錯誤處理 5
1.3.4 流的讀寫 7
1.3.5 流的定位 11
1.3.6 格式化輸入輸出 12
1.4 實驗內容 13
1.4.1 文件的復制 13
1.4.2 循環記錄系統時間 15
第2章 Linux文件I/O編程 17
2.1 Linux文件I/O概述 18
2.1.1 POSIX規范 18
2.1.1 虛擬文件系統 18
2.1.2 文件和文件描述符 19
2.1.3 文件I/O和標準I/O的區別 20
2.2 文件I/O操作 20
2.2.1 文件打開和關閉 20
2.2.2 文件讀寫 22
2.2.3 文件定位 25
2.2.4 文件鎖 27
2.3 實驗內容——生產者和消費者 33
第3章 Linux多任務編程 42
3.1 Linux下多任務機制的介紹 43
3.1.1 任務 43
3.1.2 進程 43
3.1.3 線程 48
3.2 進程編程 49
3.2.1 進程編程基礎 49
3.2.2 Linux守護進程 62
3.3 實驗內容編寫多進程程序 70
第4章 Linux進程間通信 77
4.1 Linux下進程間通信概述 78
4.2 管道通信 79
4.2.1 管道簡介 79
4.2.2 無名管道系統調用 79
4.2.3 有名管道 83
4.3 信號通信 86
4.3.1 信號概述 86
4.3.2 信號發送與設置 88
4.4 信號量 94
4.4.1 信號量概述 94
4.4.2 信號量編程 95
4.5 共享內存 100
4.6 消息隊列 107
4.7 實驗內容 113
4.7.1 有名管道通信實驗 113
4.7.2 共享內存實驗 117
第5章 Linux多線程編程 124
5.1 線程基本編程 125
5.2 線程之間的同步與互斥 129
5.2.1 互斥鎖線程控制 129
5.2.2 信號量線程控制 130
5.3 線程屬性 134
5.4 多線程實驗 139
第6章 Linux網絡編程基礎 146
6.1 網絡體系結構 147
6.1.1 OSI模型和TCP/IP模型 147
6.1.2 TCP/IP模型特點 148
6.1.3 TCP和UDP 149
6.2 網絡基礎編程 152
6.2.1 套接字概述 152
6.2.2 IP地址 153
6.2.3 端口 155
6.2.4 字節序 156
6.2.5 TCP編程 157
6.2.6 UDP編程 165
6.3 服務器模型 169
6.3.1 循環服務器(TCP) 169
6.3.2 并發服務器(TCP) 174
6.4 實驗內容——NTP的客戶端實現 177
第7章 Linux高級網絡編程 186
7.1 網絡超時檢測 187
7.1.1 套接字接收超時檢測 187
7.1.2 定時器超時檢測 190
7.2 廣播 192
7.2.1 廣播地址 192
7.2.2 廣播包的發送和接收 193
7.3 組播 196
7.3.1 組播地址 197
7.3.2 組播包的發送和接收 197
7.4 UNIX域套接字 201
7.4.1 本地地址 201
7.4.2 UNIX域流式套接字 201
7.4.3 UNIX域用戶數據報套接字 204